sfn-plan
Manages project planning in Linear. Tracks compiler/runtime issues and roadmap initiatives.
Install
mkdir -p .claude/skills/sfn-plan && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/18314" && unzip -o skill.zip -d .claude/skills/sfn-plan && rm skill.zipInstalls to .claude/skills/sfn-plan
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Plan Sailfin work in Linear from Initiatives through Projects to session-sized compiler/runtime issues. Use when Codex needs to audit or create Linear planning structure, prioritize production compiler/runtime health and performance, assign Projects/Cycles/priorities/estimates, groom Triage/Backlog/Ready/Blocked queues, or propose/apply bulk Linear issue updates.Key capabilities
- →Audit Linear projects and initiatives
- →Prioritize production compiler/runtime health and performance
- →Assign Projects, Cycles, priorities, and estimates
- →Groom Triage, Backlog, Ready, and Blocked queues
- →Propose and apply bulk Linear issue updates
How it works
The skill audits Linear projects and initiatives, prioritizes work based on production health, grooms various queues, and proposes bulk updates to Linear issues, ensuring a production-ready Sailfin compiler/runtime.
Inputs & outputs
When to use sfn-plan
- →Planning compiler tasks
- →Managing development queues
- →Updating project roadmaps
About this skill
Sailfin Planning Skill
Use this skill for Linear planning and queue maintenance. The goal is a
production-ready, high-performance Sailfin compiler/runtime, not a tidy board.
Use sailfin-pickup only after a leaf issue is ready to implement.
Planning Sources
Use Linear as the planning source of truth:
- Initiatives: durable product/engineering pillars.
- Projects: epics under Initiatives.
- Issues: session-sized leaves under Projects.
- Cycles: release windows across Projects.
Read repo context only to validate technical truth:
docs/conventions/linear-workflow.mddocs/conventions/linear-templates.mddocs/conventions/issue-naming.mddocs/status.mdfor what currently ships- relevant SFEPs or design notes under
docs/proposals/ - compiler/runtime source or tests when issue feasibility depends on code facts
Do not use site/src/pages/roadmap.astro as the source for planning direction.
The site is a published view; Linear Initiatives/Projects are the planning
surface. Only inspect site files when the task is specifically docs/site sync.
Operating Rules
- Read first, propose second, write third. Do not bulk-update Linear until the user approves the proposed batch.
- Do not invent planning direction from stale docs, vibes, or issue counts. Every created or promoted issue must trace to a Linear Initiative/Project, an accepted/draft design record, a status gap, a failing/fragile verification path, or direct source evidence.
- Prefer fewer, sharper issues over broad backlog expansion. A healthy queue has pickable leaves, not hundreds of ambiguous tickets.
- Treat releases as Cycles, never Projects. Keep release scope orthogonal to each issue's epic Project.
- Use Linear native fields for status, priority, estimate, Project, Cycle, assignee, blockers, and relations. Do not create labels for those dimensions.
- Never move an issue to
Readyunless it is session-sized, unblocked, prioritized, estimated, and has clear acceptance criteria plus verification.
Production Health Lens
When prioritizing or creating work, classify the technical reason explicitly:
| Lens | Use for |
|---|---|
| Correctness | miscompiles, type/effect holes, invalid diagnostics, spec mismatches |
| Self-hosting | fixed-point determinism, seed readiness, compiler rebuild safety |
| Performance | compile latency, memory/RSS, cache effectiveness, runtime throughput |
| Runtime safety | ABI soundness, ownership/lifetime hazards, TLS/net/io behavior |
| Portability | Linux/macOS/Windows build and runtime behavior |
| Developer ergonomics | diagnostics, sfn check, sfn test, build output, MCP/LSP |
| Release health | blockers for the next Cycle, seed bumps, CI and packaging gates |
Urgent/High priorities require a concrete health rationale. Low-priority polish should not crowd out correctness, self-hosting, performance, or release health.
Discovery Workflow
Build a live inventory with Linear tools:
- Resolve the Sailfin (
SFN) team, states, Cycles, labels, Projects, and Initiatives. If Initiative listing is not directly available, recover it from Project initiative fields/status updates; if it cannot be recovered, stop and report that the hierarchy is unavailable. - For each Initiative, list active/planned Projects and recent status updates.
- For each Project, list open issues grouped by status, priority, estimate, assignee, blocker state, and Cycle.
- Find open issues with no Project, no priority, no estimate, no Cycle where
release-scoped, stale
Blocked, staleReady, or oversized scope. - Sample enough issue descriptions and related SFEP/status/source context to explain recommendations with evidence.
When status names differ, use the names returned by Linear and map them to repo
concepts: intake (Triage/To triage), scoped not pickable (Backlog),
pickable (Ready), claimed (In Progress), waiting (Blocked), and terminal
completed/canceled states.
Issue Construction Bar
Create or promote only leaf issues. Each proposed issue must include:
- Initiative and Project, or a reason it is intentionally unprojected.
- Health lens and priority rationale.
- Goal in one or two sentences.
- Semantic
In/Outscope, not a brittle file checklist. - Acceptance criteria with observable behavior.
- Verification commands or test expectations. Prefer
make compileplus the narrowest relevantbuild/bin/sfn test <path>/-k/--tagcommand for a compiler leaf. Reservemake test,make check, andmake check-strictfor full-suite, release, determinism, self-host fixed-point, structural compiler, or high-risk regression gates. - Estimate on the Sailfin scale:
1= XS,2= S,3= M. - Design/status/source evidence: SFEP/design note,
docs/status.mdrow, failing test class, code location, release blocker, or prior issue/PR. - Blocker relations when work depends on another unresolved issue.
Anything larger than M becomes a Project or remains in triage for splitting. Do not file speculative "improve performance" issues without a measurement, benchmark target, regression signal, or concrete compiler/runtime bottleneck.
Queue Actions
Classify each issue into one action bucket:
create_project: a durable epic is missing under an Initiative.create_leaf: a concrete leaf is missing and meets the construction bar.attach_project: an existing issue clearly belongs to a Project.fill_fields: priority, estimate, Cycle, or relation is missing.promote_ready: issue meets the Ready bar and has no blockers.move_backlog: scoped but not ready or not current-cycle work.move_triage: ambiguous, oversized, missing evidence, or needs design.keep_blocked: real unresolved blocker remains.unblock_candidate: only completed hard blockers remain; no prose gate.cycle_candidate: should be in an upcoming release Cycle.cancel_candidate: obsolete, duplicate, or superseded; requires approval.
Project priority follows the highest-priority current gating leaf. Project status rolls up from leaves: started when any leaf is in progress, planned when ready leaves exist, backlog before grooming.
Release Cycle Planning
For a release:
- Resolve the target Linear Cycle and the GitHub
Release: vX.Y.Ztracker if one exists. - Pull candidates from Linear Projects, release labels, seed blockers, self-hosting status, CI/package gates, and explicit user direction.
- Propose
in_cycle,roll_forward, andnot_release_scopegroups with rationale. - After approval, assign accepted issues to the Cycle and normalize Project, priority, estimate, and blocker fields.
- If an issue is acting as a release tracker in
Todo, propose converting it into a real leaf, linking it to the Cycle/tracker, or canceling it. Do not make the release a Project.
Proposal Format
Before writes, present:
Sailfin Planning Proposal
Objective:
- <production compiler/runtime outcome>
Inventory:
- Initiatives reviewed: <N>
- Projects reviewed: <N>
- Issues reviewed: <N>
- Cycle: <name or none>
Recommended actions:
| Action | Count | Examples | Evidence |
|---|---:|---|---|
| Create Project | N | <name> | Initiative gap / design record |
| Create Leaf | N | <title> | status/source/perf evidence |
| Attach Project | N | SFN-123 -> Project | goal matches epic |
| Fill Fields | N | SFN-456 priority High estimate 2 | health rationale |
| Move Status | N | SFN-789 Backlog -> Ready | passes Ready bar |
| Assign Cycle | N | SFN-111 -> vX.Y.Z | release gate |
Held back:
- SFN-222: missing evidence / oversized / unresolved design / prose blocker
Risks:
- <planning or technical uncertainty>
After approval, apply small logical batches and report each changed issue with old and new field values. If a write tool lacks a needed field, stop and report the gap instead of approximating with labels.
When not to use it
- →When the task is not related to Sailfin planning or queue maintenance
- →When the task is specifically docs/site sync and not planning direction
- →When the user wants to use `sailfin-pickup` before a leaf issue is ready to implement
Limitations
- →The skill does not invent planning direction from stale docs, vibes, or issue counts.
- →The skill prefers fewer, sharper issues over broad backlog expansion.
- →The skill never moves an issue to `Ready` unless it meets specific criteria.
How it compares
This skill focuses on maintaining a production-ready Sailfin compiler/runtime through structured Linear planning and queue management, prioritizing technical health over board tidiness, unlike generic project management.
Compared to similar skills
sfn-plan side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| sfn-plan (this skill) | 0 | 20d | No flags | Advanced |
| create-plan | 36 | 7mo | Review | Beginner |
| project-planner | 32 | 9mo | Review | Intermediate |
| system-design | 19 | 8mo | No flags | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
create-plan
antinomyhq
Generate detailed implementation plans for complex tasks. Creates comprehensive strategic plans in Markdown format with objectives, step-by-step implementation tasks using checkbox format, verification criteria, risk assessments, and alternative approaches. Use when users need thorough analysis and structured planning before implementation, when breaking down complex features into actionable steps, or when they explicitly ask for a plan, roadmap, or strategy. Strictly planning-focused with no code modifications.
project-planner
adrianpuiu
Comprehensive project planning and documentation generator for software projects. Creates structured requirements documents, system design documents, and task breakdown plans with implementation tracking. Use when starting a new project, defining specifications, creating technical designs, or breaking down complex systems into implementable tasks. Supports user story format, acceptance criteria, component design, API specifications, and hierarchical task decomposition with requirement traceability.
system-design
lagz0ne
Use when designing, architecting, or planning a new system from requirements or ideas - transforms concepts into navigable design catalog using EventStorming methodology, Mermaid diagrams, and progressive elaboration through 5 phases (Requirements, Big Picture, Processes, Data/Flows, Integration)
spec-kit-workflow
jmanhype
Guides specification-driven development workflow. Automatically invoked when discussing new features, specifications, technical planning, or implementation tasks. Ensures proper workflow phases (specify → clarify → plan → checklist → tasks → analyze → implement).
sparc-methodology
ruvnet
SPARC (Specification, Pseudocode, Architecture, Refinement, Completion) comprehensive development methodology with multi-agent orchestration
spec-workflow
TencentCloudBase
Standard software engineering workflow for requirement analysis, technical design, and task planning. Use this skill when developing new features, complex architecture designs, multi-module integrations, or projects involving database/UI design.