Communitygithub.com

SongGithub/personal-skills

Trello card rules for the job-search tracker. Enforces case-insensitive and fuzzy duplicate detection before any card is created, title formatting, lane placement from config, and logging each card to the tracker database. Applies whenever a job posting becomes a card.

personal-skills 是什么?

personal-skills is a Claude Code agent skill that trello card rules for the job-search tracker. Enforces case-insensitive and fuzzy duplicate detection before any card is created, title formatting, lane placement from config, and logging each card to the tracker database. Applies whenever a job posting becomes a card.

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/SongGithub/personal-skills/tree/HEAD/job-search/skills/trello-card-rules

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

Trello Card Rules

Applies only when tracker_backend: trello in $JOB_SEARCH_HOME/integrations.yaml. If the backend is jira, use the evidence gate in the job-search-quality skill instead.

All board and lane identifiers come from integrations.yaml under trello.*. Never hardcode them, and never print the API key or token.

Duplicate detection — do this before any card

Three failure modes, each of which has produced real duplicates:

1. Casing. "Upstyle" and "upStyle" are the same company. A case-sensitive comparison created 22 duplicate cards in one run. Lowercase both sides before comparing.

2. Role-title drift. "Senior DevOps Engineer- AWS" and "Senior DevOps Engineer - AWS" are the same role. Exact string matching fails on spacing and punctuation.

Fuzzy match instead: extract key terms from both titles, drop filler words (senior, staff, lead, principal, engineer, devops), and require 2+ overlapping keywords.

3. Title-only scoring overrates a role. A role scored full marks on the first-principles filter from its title alone, while the advert actually required bare-metal GPU Kubernetes the candidate does not have. Title words are a screening cue, never proof of level.

Add a Skill-Match Risk dimension (0–2) to the score. Check the role against the candidate's documented weaknesses in $JOB_SEARCH_HOME/targets.md — bare metal, GPU, RDMA, InfiniBand, Ceph, Rook, hardware — and against recruiter agencies. Score 0 on mismatch.

Procedure

Step 1 — Duplicate check

Run the tracker duplicate checker before creating anything:

  • Company: lowercase both sides, then substring containment
  • Role: strip filler words, require 2+ overlapping key terms
  • Also check company+role against tracker_path from integrations.yaml

If a match exists, update the existing card instead of creating a second one.

Step 2 — Title format

Generate the title in this shape:

<Role> — <Company> (<Status>)

Use an em dash between role and company, and parenthesised status.

Step 3 — Lane placement

Read lane identifiers from trello.lists.*:

SignalLane key
Defaultbacklog
Candidate said "submitted" or "sent"applied
Actively progressingtodo
Interview stageinterview
Closed outdead_leads

If the required lane key is blank in config, stop and name it rather than guessing.

Step 4 — Create, then record

Create the card in the resolved lane, then log it to tracker_path with status Saved.

If creation succeeds but logging fails, report both facts. A card that exists but is not logged will be re-created on the next run.

Step 5 — Attach artifacts

Upload the finished PDF and its HTML source. Read the attachment names and sizes back before reporting success. When replacing a defective attachment, upload the corrected file first, verify it, then remove the old copy so reviewers see one clear version.

Credentials come from trello.api_key_env and trello.token_env. Read them from the environment; never inline them into a command that gets logged.

Rules

  • Never create a card without the duplicate check. That is the whole point of this skill.
  • Never infer a lane identifier, board identifier, or company slug.
  • A missing lane in config is a stop-and-report condition, not a default.
  • Do not fabricate postings. A card must trace to a real advert.

Individual skills in this repo

This repo contains 10 individual skills — each has its own dedicated page.

SongGithub/personal-skills

Applies a direct, plain-spoken, Australian-English communication style to any text drafted — chat replies, emails, Slack/Teams messages, tickets, PR and commit descriptions, docs. Use whenever drafting prose, not just visual or code artifacts. Skip when the user explicitly asks for a different tone or voice.

SongGithub/personal-skills

A reusable HTML document design system for CVs, one-pagers and short reports — design tokens, layout, typography, print-to-PDF rules and accessibility. Use when generating or restyling a self-contained HTML document meant to be read on screen or printed to PDF.

SongGithub/personal-skills

End-to-end job application workflow. Screen a posting, tailor the HTML CV from the master template, print it to PDF, archive the artifact, and file the result against the configured tracker. Triggers on apply, apply to jobs, submit application, tailor and send CV.

SongGithub/personal-skills

CV attach workflow. Generate a tailored HTML CV for a tracked role, attach the rendered artifact back to its tracker item, then verify the attachment actually landed. Covers template selection, tailoring order, upload headers, and read-back verification.

SongGithub/personal-skills

First-principles reasoning for a startup or a job search, in the spirit of Elon Musk's "zero restart" framing: survival cashflow, the idiot index, and the physical first step. 第一性原理创业与求职法 — 从马斯克「归零重启」思维出发,用生存现金流、白痴指数、长期物理第一步三个步骤,指导创业和求职

SongGithub/personal-skills

How to file a job opportunity as a Jira issue — summary format, required fields, duplicate check, description formatting and attachments. Applies when tracker_backend is jira. Use when a job posting becomes a tracker record, and when creating or updating job records on a Jira board.

SongGithub/personal-skills

Assistant for job applications: evaluating job postings, tailoring CVs, writing cover letters, and preparing for interviews. Triggers on keywords like: job posting, job application, CV, cover letter, resume, interview prep, job fit, career, application, apply, SEEK

SongGithub/personal-skills

Job scraper. Searches job boards for new positions matching the candidate profile, deduplicates against previously seen jobs and the tracker file, then presents new matches with a quick fit assessment. Triggers on: job scrape, find jobs, search jobs, new jobs, /scrape.

SongGithub/personal-skills

Screen job opportunities, prepare job records and tailored CVs, and verify the result against current salary, title, source, and document-quality preferences. Applies to job boards and scheduled searches.

SongGithub/personal-skills

Compares tracked job postings against the candidate profile to find skill gaps, then builds a prioritised gap heatmap and a learning plan with searched study resources and a study order. Triggers on: upskill, skill gaps, what should I learn, learning plan, upskill report.

相关技能