pk
Disabled: pk is now invoked explicitly through the /pk prompt template. Kept only as archived documentation for the former skill workflow.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Disabled: pk is now invoked explicitly through the /pk prompt template. Kept only as archived documentation for the former skill workflow.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Route conversational thinking requests to one focused framework. Three core modes: adversarial pushback (sycophancy), request investigation (root-ask), and plan/design interrogation (grill-me). Use when user wants a sparring partner, says 'help me think', 'think with me', 'push back', 'challenge', 'stress test', 'what am I missing', 'grill me', 'devil's advocate', 'root cause', 'behind the request', or has an ambiguous thinking-mode request. Route product strategy, goal-setting, systems thinking, stakeholder messaging, or parallel exploration to their dedicated skills instead.
Apply neutral, balanced framing when discussing contested political, ethical, policy, or empirical topics. Use when a user asks to argue for or against a position, defend a controversial view, write persuasive content on a debated topic, or when the conversation touches on politics, morality, policy disputes, or contested empirical claims. Also applies when the agent notices itself having a strong reaction to a position. Keywords: argue position, debate, argue for, defend, controversial, policy, ethics, moral, political, persuasive, contested, both sides, neutrality, bias, evenhandedness.
Ultra-compressed communication mode. Cuts token usage ~75% by dropping filler, articles, and pleasantries while keeping full technical accuracy. Use when user says "caveman mode", "talk like caveman", "use caveman", "less tokens", "be brief", or invokes /caveman.
Closes the gap between what you're trying to say and what your audience actually receives. Use when you know what something does but can't get it to land — landing page copy that isn't clicking, a presentation whose audience won't 'get it', a pitch that keeps getting 'but what is it?', a message to a colleague you can't phrase without friction, stakeholder buy-in, proposal pre-alignment, or lesson content that isn't connecting. Also use when drafting interpersonal messages — disagreements, negotiations, bad news, feedback, apologies, cold outreach, delegating, celebrating, or any email/Slack/text where the situation matters. Keywords: craft message, communication, message clarity, audience, positioning, stakeholder alignment, buy-in, prealignment, proposal, landing page, not resonating, make it obvious, email, slack, message, draft, compose, disagreement, negotiation, bad news, feedback, apology, decline, cold outreach, boundary, delegate.
Analyze TypeScript/JavaScript codebases with the fallow CLI for dead code, complexity, hotspots, and ranked refactoring targets. Use when the user wants to find unused files/exports/dependencies, measure code health, identify high-risk files (complex + frequently changed), get prioritized refactoring targets, or set up CI quality gates. Triggers on: fallow, dead code, unused exports, complexity hotspot, codebase health, refactoring targets, CRAP score, cyclomatic complexity, TS/JS codebase cleanup.
Discover and install agent skills from the open ecosystem. Use when the user asks "how do I do X", "find a skill for X", "is there a skill that can...", or wants to extend agent capabilities with installable skills. Triggers on skill discovery, skill search, skill installation.
| name | pk |
| description | Disabled: pk is now invoked explicitly through the /pk prompt template. Kept only as archived documentation for the former skill workflow. |
| disable-model-invocation | true |
Structured project knowledge — intake, search, recall, and audit.
Use the pk CLI for all operations. Output is JSON by default; use --pretty for human-readable. Never read or write knowledge files directly.
MANDATORY READ references/knowledge-model.md when: creating a note type you haven't used before, unsure which folder a type belongs in, validating frontmatter, or unsure which status values are valid.
# Orient at session start
pk synthesize --session-start
# Search before creating anything
pk search "query"
pk search "query" --type decision --status open --tag infra --limit 5
# Read full content
pk read /abs/path/from/search
# Create — prints path; read skeleton, fill sections, then write back
pk new note "Title" --tags auth,api
pk new note "Title" --tags temp --expires 2026-12-31
pk new decision "Title"
pk new question "Title"
pk new source "Title"
# Write back (always pk read first; never change id, type, or created)
pk write /abs/path <<'EOF'
---frontmatter---
## Section
Content.
EOF
# Validate (run after every write)
pk lint
pk lint path1 path2
# History, tags, index
pk history --limit 20 --filter-type decision
pk vocab
pk index
# Lifecycle maintenance (run daily/weekly via cron or manually)
pk gc # decay scoring + archive stale + purge expired
pk gc --dry-run # preview without changes
pk gc --compress # find similar notes for interactive merge
source vs note: source = raw input (meeting notes, transcripts, external docs). note = stable synthesised fact you've derived. Extract notes from sources; never dump raw input into a note.
After creating a note that supersedes existing knowledge:
pk search "<topic>" — find the old notepk read <old-note-path> — confirm the conflictpk write <old-note-path> — change status: superseded, add to ## Related: Superseded by [[<new-note-id>]] — <reason>.pk lint <old-note-path> — validateKnowledge has a lifecycle. Notes decay, expire, and get superseded.
pk gc updates decay scores and archives notes below threshold.expires date (frontmatter) are archived automatically when the date passes. Use --expires YYYY-MM-DD on pk new for time-bounded knowledge (deadlines, temporary blockers).pk gc --compress identifies similar notes for interactive merging. Run weekly.NEVER skip pk search before pk new.
Instead: Search by topic, likely title, and key tags; update an existing note when it already captures the claim.
Why: Duplicates fragment knowledge silently; future searches return noise and agents may trust the wrong copy.
NEVER dump raw input into a note or decision.
Instead: Create a source for raw material, then extract stable claims into notes or decisions.
Why: Raw input and synthesized knowledge age differently; mixing them makes later recall look more authoritative than it is.
NEVER silently overwrite a conflicting claim. Instead: Follow the Contradiction Protocol and mark older knowledge superseded with a link to the replacement. Why: Preserving the conflict trail lets future agents understand whether a change was correction, reversal, or context shift.
NEVER commit when pk lint returns errors.
Instead: Fix frontmatter/body structure and rerun pk lint before treating the note as usable.
Why: Invalid notes may disappear from search or break lifecycle tooling, which is worse than having no note.